Demandez le programme !

Transmission de données dans un réseau.

Le but d'un réseau est de transmettre des informations d'un ordinateur à une autre machine.

Pour cela il faut dans un premier temps décider du type de codage de la donnée à envoyer, c'est-à-dire sa représentation informatique. Celle-ci sera différente selon le type de données (sons, texte, graphique, table, vidéos, ...)

La représentation de ces données peut se diviser en deux catégories :

Nos réseaux ne traitent que de signaux numériques.

Les données circulent sur Internet sous forme de trames. Les trames sont des données encapsulées, c'est-à-dire des données auxquelles on a ajouté des en-têtes correspondant à des informations sur leur transport (telles que l'adresse IP de destination).
Tout cela va être détaillé dans ce chapitre !

Protocoles

Un protocole est un ensemble de règles informatiques comprises par les deux machines qui doivent pour communiquer des données, se mettre d'accord sur :

Lorsque vous rencontrez une personne nous suivons naturellement un ensemble de protocoles :

En informatique, il existe bon nombre de protocoles : HTTP, IP, TCP, UDP, Ethernet, ...

Un message envoyé sur un réseau informatique nécessite souvent l'utilisation de plusieurs protocoles, chacun avec ses propres rôles et format, comme par exemple pour obtenir le contenu d'une page Web :

Associer à chacun des noms de protocoles suivants la définition qui lui correspond :

Nom de protocoles

Définition

1. HTTP

A. Protocole qui gère l'adressage et la fragmentation des paquets de données dans les réseaux numériques.

2. IP

B. Protocole qui assure la bonne transmission des données entre une source et un destinataire.

3. TCP

C. Protocole qui définit la communication entre un navigateur-web et un serveur-web.

Code de déblocage de la correction :

Un service est une interface qui permet de mettre en place un protocole.

Pour envoyer depuis son ordinateur un mail, on utilise le protocole nommée SMTP pour Simple Mail Transfer Protocol.

Pour récupérer sur son ordinateur un mail stocké sur un serveur gérant sa messagerie, tout en le conservant sur ce serveur, on utilise un protocole nommée IMAP pour Internet Message Access Protocol.

Le modèle TCP/IP

TCP/IP, un modèle en 4 couches

Le modèle TCP/IP et le modèle OSI

Pour communiquer nous avons besoin de définir des modèles qui constituent des normes de communication. Le modèle OSI est le modèle théorique qui encadre les échanges sur un réseau. Il comporte 7 couches que nous ne détaillerons pas cette année.

Ce premier un peu complexe et pas forcément ancré dans la réalité a été simplifié pour donner le modèle TCP/IP.

TCP/IP désigne communément une architecture réseau, mais cet acronyme désigne en fait 2 protocoles étroitement liés : un protocole de transport, TCP (Transmission Control Protocol) qu’on utilise « par-dessus » un protocole internet, IP (Internet Protocol).

Le modèle TCP/IP est une architecture réseau en 4 couches :

Le modèle TCP/IP est une architecture réseau en 4 couches dans laquelle les protocoles TCP et IP jouent un rôle prédominant, car ils en constituent l’implémentation la plus courante. Par abus de langage, TCP/IP peut donc désigner deux choses : le modèle TCP/IP et la suite de deux protocoles TCP et IP.

On présente en général le modèle TCP/IP de haut en bas comme dans l'illustration ci-dessous contenant différents noms de protocoles :

Le modèle TCP/IP et le modèle OSI

La couche Application/Application Layer

La couche application est la couche la plus haute du modèle TCP/IP à quatre couches ; elle est présente au-dessus de la couche de transport.
La couche application :

La couche d’application inclut tous les protocoles de niveau supérieur tels que :

Cette couche fait appel à un ensemble de services pour mettre en place des protocoles.

C'est dans cette couche que les données sont découpées/organisées pour être envoyées.

La couche Transport/Transport Layer

La couche Transport est la troisième couche du modèle TCP/IP à quatre couches. La position de la couche Transport se situe entre la couche d'application et la couche Internet.
La couche Transport a pour but de permettre aux périphériques des hôtes source et de destination d’engager une conversation.
La couche Transport définit le niveau de service et le statut de la connexion utilisée lors du transport de données.

Les deux principaux protocoles inclus dans la couche Transport sont TCP (Transmission Control Protocol pour protocole de contrôle de transmission) et UDP (User Datagram Protocol pour protocole de datagramme utilisateur).

Le protocole TCP permet :

Le protocole TCP est utilisé dès que la fiabilité est essentielle comme par exemple pour la gestion du courier électronique ou la consultation de pages Web.

La segmentation des données présente deux intérêts :

Le protocole UDP encapsule moins d'informations sur le destinataire avec les données si bien qu'aucun accusé de réception n'assure la bonne réception de l'envoi.
La fiabilité n'est plus garantie mais la mise en oeuvre est plus rapide (pas d'aller-retours).
UDP est utilisé quand la rapidité est préférée à la fiabilité comme pour les applications de vidéoconférence ou de transmission de la voix (VoIP) ou par les applications simples de demande/réponse comme DNS ou DHCP ou celles qui gèrent elle-même la fiabilité comme SNMP.

Lorsque les données sont prises en charge

Un segment est un ensemble de données généré par la couche de transport TCP.

Lorsque le protocole TCP est utilisé, on parle de segment, mais si le protocole UDP est utilisé, on parle de datagramme.

Cette couche Transport rajoute des informations aux données à transmettre pour permettre entre autres la reconstitution des données complètes par le receveur une fois tous les paquets reçus.

Ces données rajoutées forment une en-tête.

On parle d'encapsulation.

Le protocole TCP gère l'établissement d'une session de communication entre deux périphériques finaux grâce à une "poignée de main à trois voies" :

Échanges entre machines :

Échanges entre humains :

La couche Internet/Internet Layer

La couche Internet est la deuxième couche du modèle TCP/IP à quatre couches.
La couche Internet condense les segments en paquets de données.

Cette couche gère l'acheminement des segments issus de la couche Transport entre une source et un destinataire, en particulier permettant leur routage à travers différents réseaux.

Les principaux protocoles inclus dans la couche Internet sont :

Une partie de ces protocoles seront survolés au chapitre ARSE4.

Un paquet est le nom que l'on donne à la capsule générée par la couche internet IP.

Au lieu du mot paquet, le terme datagramme IP apparaît parfois.

Cette couche Internet encapsule notamment les segments générés par la couche transport TCP en rajoutant des informations sur les adresses IP source et de destination utilisées pour le transfert entre les hôtes et entre les réseaux.

16 octets sont réservés à l'en-tête de cette couche Internet.

La couche réseau/Network Access

La couche réseau ou couche d’accès réseau ou couche matérielle est la première couche du modèle TCP/IP à quatre couches.

La couche d’accès réseau définit en détail comment les données sont physiquement envoyées à travers le réseau, y compris la manière dont les bits sont signalés électriquement ou optiquement par les périphériques matériels qui interfacent directement avec un support réseau, tel qu’un câble coaxial, une fibre optique ou un fil de cuivre à paire torsadée.

Les protocoles inclus dans la couche d’accès au réseau sont :

Une trame est la structure de base des données gérées par la couche réseau.

Cette couche réseau rajoute aux paquets issus de la couche Internet différentes informations dont les adresses physiques MAC.

Une adresse physique MAC (pour Media Access Control) est une adresse implémentée par le constructeur de la carte d'interface réseau gérant la connexion de toute machine au réseau.
Elle est composée de 48 bits souvent représentés en hexadécimal.

  1. Dans l'invite de commande exécuter la commande ipconfig/all.

  2. Observer le nombre de cartes (d'interface) réseau différentes qui sont attachées à votre ordinateur ainsi que leurs adresses MAC (appelées sûrement Adresse physique)

  3. Les 24 premiers octets de l'adresse MAC correspondent à un identifiant unique du fabriquant (Organizationally Unique Identifier ).
    Utiliser ce site pour découvrir le fabricant de chaque carte d'interface réseau de votre ordinateur en y inscrivant dans la barre de recherche les 6 premiers caractères hexadécimaux de l'adresse (c'st-à-dire la première moitié de l'adresse MAC).

    Certaines cartes correspondent à des interfaces virtuelles comme par exemple celle nommée "Carte Ethernet vEthernet (WSL (Hyper-V firewall))" si vous avez installé WSL pour travailler les commandes Linux au chapitre ARSE2.

Les couches Internet et Réseau sont chargées de transmettre les données du périphérique source au périphérique de destination.
Les protocoles des deux couches contiennent une adresse de source et une adresse de destination, mais leurs adresses ont des objectifs différents :

Ces adresse MAC seront étudiées elles aussi au chapitre ARSE4.

Encapsulation

À l'envoi d'un paquet de données, on parle d'encapsulation, puisque les données d'une couche de protocole sont incluses dans une couche de protocole de niveau inférieur avec ajout des en-têtes spécifiques à chaque couche. :

Encapsulation

À la réception d'un paquet de données, on parle de décapsulation : la machine ouvre les données encapsulées dont elle a besoin.

Décapsulation

Ces encapsulation et décapsulations sont utilisés pour transférer des données entre deux périphériques sur un réseau.

Voici un exemple illustrant l'utilisation d'encapsulations et de décapsulation pour transférer des données à travers un réseau simple.

Considérons un ordinateur dont le navigateur veut accéder au contenu d'une page Web stocké dans un serveur distant.
Pour cela, le navigateur du client va envoyer une requête HTTP au serveur. Une telle requête est un message. Nous verrons dans le chapitre ARSE4 cette requête plus précisément.
Pour simplifier l'exemple, on suppose que :

Les données de la requête vont suivre les modifications et cheminement suivant :

  1. Au niveau de l'ordinateur client, il y a une encapsulation :

    1. Le navigateur prépare la requête : couche Application.

    2. Cette requête est encapsulée dans un segment (ou plusieurs) par le protocole TCP : couche Transport.

    3. Ces segments sont encapsulés avec des adresses IP dans des paquets pour pouvoir circuler dans le réseau : couche Internet.

    4. Ces paquets sont encapsulés avec des adresses physiques MAC dans des trames : couche Réseau.

    Une fois encapsulée dans une trame, le tout peut circuler et être orienté dans les réseaux.
    La trame est transmise, par une succession de bits, au routeur nommé "routeur 1".

  2. Au niveau du routeur nommé "routeur 1" :

    1. Décapsulation pour lire une partie du contenu des en-têtes :

      Lorsque la trame arrive au routeur nommé "routeur 1", celui-ci a besoin de connaître l'expéditeur et le destinataire.
      Pour cela, il va décapsuler :

      • les trames pour récupérer les adresses physiques MAC,

      • les paquets pour récupérer les adresses logiques IP.

      Avec ces adresses (et sa table de routage cf. cours de Terminale traitant ce point), le routeur va pouvoir acheminer les données à l'intermédiaire suivant : le routeur nommé "routeur 2".

      Cependant, pour pouvoir être renvoyées sur le réseau, les données doivent être encapsulées sous forme d'une trame. D'où :

    2. Encapsulation pour le renvoi sur le réseau :

      Comme il y a eu deux niveaux de décapsulation, il faut encapsuler deux fois pour transformer les données en paquet puis trame.

    3. Le routeur nommé "routeur 1" envoie la trame vers le routeur nommé "routeur 2".

  3. Au niveau du routeur nommé "routeur 2" :

    Le même besoin des adresse MAC et IP conduit au même travail de décapsulation et d'encapsulation avant que ce routeur n'envoie la trame de nouveau encapsulée vers le serveur destinataire.

  4. Au niveau du serveur :

    Le serveur doit récupérer la requête HTTP qu'il vient de recevoir encapsulée dans une trame.
    Pour cela, il doit enlever les différentes en-têtes en décapsulant :

    1. d'abord la trame pour extraire le paquet IP,

    2. ensuite le paquet IP pour extraire le datagramme,

    3. enfin le datagramme pour extraire les données correspondant à la requête HTTP.

    Une fois la requête reçue et extraite, le serveur peut traiter la demande.
    Sa réponse contenant le code de la page Web suivra lui aussi une succession d'encapsulations et de décapsulations à travers son acheminement sur le réseau.

Protocole du bit alterné

Nous avons vu qu'une donnée (image, texte, vidéos ...) est découpée en paquets pour être transportée sur le réseau. Comment s'assurer que l'ensemble des paquets est arrivé à son destinataire et surtout qu'il soit assemblé dans le bon ordre ?

Le protocole du bit alterné est une réponse.

Le protocole de bit alterné est un mécanisme de contrôle de la transmission de données qui utilise un drapeau (0 ou 1) pour signaler la réception des trames entre deux ordinateurs.

Tooma veut envoyer à Pascual un fichier. La donnée à envoyer est alors tronçonnée et encapsulée en 4 paquets : C1, C2, C3, C4.

Pascual va recevoir les paquets, il faudra alors reconstituer la donnée et ne pas mélanger les paquets.

Nous allons explorer dans cet exemple deux tentatives de protocole pour arriver finalement au protocole du bit alterné.

  1. Ce qu'on pourrait imaginer mais qui n'arrive pas.

    Imaginez que l'on soit capable de dire qu'un paquet met un temps $t$ pour arriver jusqu'à Pascual. Il suffirait alors d'attendre suffisamment longtemps entre chaque envoi de paquets pour être sûr que chaque capsule a été envoyée dans le bon ordre.

    image du cas impossible

    Oui mais voila, il est impossible d'être certain du temps de parcours du paquet. Par conséquent cette solution n'est pas satisfaisante.

  2. Vers une première solution

    L'idée ici est que Tooma doit attendre un accusé de réception ACK (acknowledgement en anglais) pour envoyer un nouveau paquet.

    image du cas impossible

    Là encore ça ne fonctionne pas, si un ACK envoyé par le destinataire est perdu, il va y avoir un doublon de paquet ; en effet, Tooma va renvoyer un paquet déjà existant ce qui provoquera un doublon.

  3. Le protocole du bit alterné

    Chaque paquet va être accompagné d'un flag, c'est-à-dire un bit qui vaut 0 lord de l'envoi du premier paquet.

    Chaque ACK portera le bit correspondant au drapeau du paquet reçu.

    À chaque nouvel envoi le bit est alterné, il change de valeur en alternant entre 0 et 1.

    image du cas impossible

Ce protocole est simple et léger (un seul bit pour le "flag"). Il a été utilisé assez longtemps.
Ce protocole peut être mis en défaut :
par exemple, la première trame arrive très en retard ; elle a été ré-émise et reçue depuis, puis une seconde trame et la première trame arrive en retard mais entre la deuxième et la troisième : cette trame en retard est acceptée et la troisième est refusée car le destinataire attend désormais une trame de "flag" 1.
Il peut aussi se passer le cas où l'accusé de réception de la première trame arrive très en retard après l'envoi d'une troisième trame qui elle se perd. La perte de cette troisième trame est cachée par la réception en retard du premier accusé de réception.

Ce protocole est désormais remplacé par d'autres protocoles, plus robustes mais plus complexes.

Un des mécanismes utilisés par des périphériques modernes pour optimiser la détection et gestion de pertes de paquets est l'utilisation d'accusés de réception sélectifs (SACK). Voici un site qui présente entre autres ce mécanisme.

QCM

Questions issues de la Banque Nationale de Sujets

Propriétaire des ressources ci-dessous : ministère de l'Éducation nationale et de la jeunesse, licence CC BY SA NC

Voici une sélection de questions issues de la banque nationale de sujets, répondez à ces questions (attention, cette sélection n'est pas exhaustive).

Dans un réseau informatique, que peut-on dire de la transmission de données par paquets ?

Réponses :

A- Cela empêche l’interception des données transmises.

B- Cela garantit que toutes les données empruntent le même chemin.

C- Cela assure une utilisation efficace des liens de connexion.

D- Cela nécessite la réservation d’un chemin entre l’émetteur et le récepteur.

Code de déblocage de la correction :

Quel est le principe de l'encapsulation des données dans un réseau informatique ?

Réponses :

A- Cacher les données afin que l'on ne puisse pas les lire.

B- Mettre les données les unes à la suite des autres.

C- Chiffrer les données afin que l'on ne puisse pas les lire.

D- Inclure les données d'un protocole dans un autre protocole.

Code de déblocage de la correction :

Lors d'un échange TCP/IP entre deux machines sur le réseau Internet, un paquet n'arrive pas à destination. Qui gère le renvoi du paquet ?

Réponses :

A- Le protocole IP de la machine de départ.

B- Le protocole IP de la machine d'arrivée.

C-Le protocole TCP de la machine de départ.

D- Le protocole TCP de la machine d'arrivée.

Code de déblocage de la correction :

Dans le protocole de communication IP :

Réponses :

A- Les données sont envoyées en une seule partie.

B- Les données sont envoyées en plusieurs parties qui suivent le même itinéraire au sein du réseau.

C-Les données sont envoyées en plusieurs parties qui suivent des itinéraires différents au sein du réseau et arrivent à destination en respectant l’ordre de leur envoi.

D- Les données sont envoyées en plusieurs parties qui suivent des itinéraires différents au sein du réseau et arrivent à destination dans un ordre quelconque.

Code de déblocage de la correction :

Autres QCM

Une trame (Ethernet) est envoyée sur le réseau Internet. L’entête de cette trame contient :

Réponses :

A- L’adresse IP du destinataire.

B- L’adresse IP de l'expéditeur.

C- Les données transmises.

D- L’adresse MAC du destinataire puis l’adresse MAC de l'expéditeur.

Code de déblocage de la correction :

Combien de couches constituent le modèle TCP/IP ?

Réponses :

A- 4.

B- 5.

C- 6.

D- 7.

Code de déblocage de la correction :

Quel élément n'est pas une couche du modèle TCP/IP ?

Réponses :

A- Application.

B- Internet.

C- Liaison de données.

D- Transport.

Code de déblocage de la correction :

Pour renvoyer une trame reçue au bon destinataire sur le réseau, un routeur décapsule :

Réponses :

A- Rien : il renvoie la trame directement à tous les périphériques connectés à lui.

B- La couche Réseau pour récupérer les adresses physiques MAC.

C- Jusqu'à la couche Internet pour récupérer les adresses MAC et les adresses IP.

D- Toutes les couches pour lire la totalité du message.

Code de déblocage de la correction :

Sur quelle couche du modèle TCP/IP se trouve les protocoles UDP et TCP ?

Réponses :

A- Application.

B- Transport.

C- Internet.

D- Réseau.

Code de déblocage de la correction :

Sur quelle couche du modèle TCP/IP se trouve le protocole HTTP ?

Réponses :

A- Application.

B- Transport.

C- Internet.

D- Réseau.

Code de déblocage de la correction :

Quel est le nom du processus qui consiste à ajouter des informations de protocole aux données au fur et à mesure qu'elles descendent dans la pile de protocoles ?

Réponses :

A- Décapsulation.

B- Encapsulation.

C- Segmentation.

D- Séquençage.

Code de déblocage de la correction :

Quelle couche du modèle TCP/IP encapsule les données dans des trames ?

Réponses :

A- Application.

B- Transport.

C- Internet.

D- Réseau.

Code de déblocage de la correction :

Un client Web envoie une demande de page Web à un serveur Web. Du point de vue du client, quel est l'ordre correct de la pile de protocole utilisée pour préparer la demande de transmission ?

Réponses :

A- HTTP, TCP, IP, Ethernet.

B- Ethernet, HTTP, IP, TCP.

C- Ethernet, IP, TCP, HTTP.

D- HTTP, IP, TCP, Ethernet.

Code de déblocage de la correction :

On considère de la transmission d'une donnée encapsulée entre un client et un serveur.
Parmi les quatre propositions suivantes, laquelle est juste quant à l'évolution des adresses IP et MAC présentent dans la trame transmise successivement entre chaque routeur ?

Réponses :

A- Les adresses IP changent à chaque routeur mais les adresses MAC sont fixes tout au long de la transmission.

B- Les adresses MAC changent à chaque routeur mais les adresses IP sont fixes tout au long de la transmission.

C- Les adresses IP et MAC changent à chaque routeur.

D- Les adresses IP et MAC sont fixes tout au long de la transmission.

Code de déblocage de la correction :

Quelles informations sont ajoutées lors de l'encapsulation se produisant au niveau de la couche Internet du modèle TCP/IP ?

Réponses :

A- Le protocole application de la source et de la destination.

B- Le numéro du port de la source et de la destination.

C- Les adresses IP de la source et de la destination.

D- Les adresses MAC de la source et de la destination.

Code de déblocage de la correction :

Quel protocole de couche de transport assure une livraison fiable dans le même ordre ?

Réponses :

A- Le protocole HTTPS.

B- Le protocole IP.

C- Le protocole TCP.

D- Le protocole UDP.

Code de déblocage de la correction :

Quels sont les deux indicateurs dans l'en-tête TCP utilisés dans une poignée de main à trois voies TCP pour établir la connectivité entre deux périphériques ?

Réponses :

A- ACK et FIN.

B- ACK et PSH.

C- URG et FIN.

D- SYN et ACK.

Code de déblocage de la correction :

Parmi les propositions suivantes, laquelle est une responsabilité du protocole TCP de la couche de transport ?

Réponses :

A- L'accès à distance au réseau.

B- La détermination du du chemin d'accès approprié pour transmettre les paquets.

C- Le chiffrements des données afin de sécuriser la transmission.

D- Le suivi de chaque ensemble de données échangé entre la source et le destinataire.

Code de déblocage de la correction :

Lors de la récupération de messages électroniques, quel protocole permet un stockage et une sauvegarde simples et centralisés des e-mails ?

Réponses :

A- HTTPS.

B- IMAP.

C- POP.

D- SMTP.

Code de déblocage de la correction :

Lors de la récupération de messages électroniques, quel protocole permet un stockage et une sauvegarde simples et centralisés des e-mails ?

Réponses :

A- Internet.

B- Transport.

C- Réseau.

D- Application.

Code de déblocage de la correction :

Parmi les propositions suivantes, laquelle est une des caractéristiques de la couche Application du modèle TCP/IP ?

Réponses :

A- Gérer la compression et le chiffrement les données.

B- Gérer l'adressage logique entre la source et le destinataire.

C- Gérer l'adressage physique entre la source et le destinataire.

D- Gérer la transmission réelle des données.

Code de déblocage de la correction :

Bilan

  1. la définition de protocole
  2. la définition de TCP
  3. la définition de IP
  4. la définition d'une trame
  5. la définition d'un paquet
  6. la définition d'un segment
  7. la définition de service
  8. Les quatre couches qui constituent le modèle TCP/IP
  9. la notion d'encapsulation
  10. le protocole HTTP
  1. savoir décrire les processus d'encapsulation et de décapsulation ayant lieu lors de la transmission de données
  2. savoir décrire le fonctionnement du protocole du bit alterné pour repérer l'éventuelle perte de paquets
  3. savoir décrire les quatre niveaux du modèle TCP/IP

Licence Creative Commons
Les différents auteurs mettent l'ensemble du site à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International